package cn.fornever.tools.db.assist.entity;

import java.util.Properties;

/**
 * JDBC连接配置类.
 *
 * @author ZhangAY
 */
public class JDBCConnectionConfig {

    private JDBCConnectionConfig() {
    }

    /**
     * @param driverClass 驱动程序
     * @param connectionURL 连接url
     * @param userName 数据库用户名
     * @param password 密码
     */
    public JDBCConnectionConfig(String driverClass, String connectionURL, String userName, String password) {
        this.driverClass = driverClass;
        this.connectionURL = connectionURL;
        this.userName = userName;
        this.password = password;
    }

    /**
     * @param driverClass 驱动程序
     * @param connectionURL 连接url
     * @param userName 数据库用户名
     * @param password 密码
     * @param properties 连接属性
     */
    public JDBCConnectionConfig(String driverClass, String connectionURL, String userName, String password,Properties properties) {
        this.driverClass = driverClass;
        this.connectionURL = connectionURL;
        this.userName = userName;
        this.password = password;
        this.properties = properties;
    }

    /**
     * 驱动名称
     */
    private String driverClass;

    private String connectionURL;

    private String userName;

    private String password;

    private Properties properties;

    /**
     * 驱动名称
     * @return 驱动名称
     */
    public String getDriverClass() {
        return driverClass;
    }

    /**
     * 驱动名称
     * @param driverClass 驱动名称
     */
    public void setDriverClass(String driverClass) {
        this.driverClass = driverClass;
    }

    /**
     * 数据库连接URL
     * @return 数据库连接URL
     */
    public String getConnectionURL() {
        return connectionURL;
    }

    /**
     * 数据库连接URL
     * @param connectionURL 数据库连接URL
     */
    public void setConnectionURL(String connectionURL) {
        this.connectionURL = connectionURL;
    }

    /**
     * 用户名
     * @return 用户名
     */
    public String getUserName() {
        return userName;
    }

    /**
     * 用户名
     * @param userName 用户名
     */
    public void setUserName(String userName) {
        this.userName = userName;
    }

    /**
     * 密码
     * @return 密码
     */
    public String getPassword() {
        return password;
    }

    /**
     * 密码
     * @param password 密码
     */
    public void setPassword(String password) {
        this.password = password;
    }

    /**
     * 连接数据库时所需要其它的属性.
     * @return 连接数据库时所需要其它的属性.
     */
    public Properties getProperties() {
        return properties;
    }

    /**
     * 连接数据库时所需要其它的属性.
     * @param properties 连接数据库时所需要其它的属性.
     */
    public void setProperties(Properties properties) {
        this.properties = properties;
    }
}
